package com.TT.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;

import java.util.List;
import java.util.Objects;

/**
 * Created by 苏文广 on 2018/11/26
 * 自定义一个通用校验方法接口
 */
@Slf4j
public abstract class BaseController {
    /**
     * 这是属于userController的校验方法实体
     * @param bindingResult 校验结果
     * @return 如果校验失败，返回错误信息;否则返回空
     */
    protected  String validate(BindingResult bindingResult){
        //数据校验
        if (bindingResult.hasErrors()) {
            StringBuilder stringBuilder =new StringBuilder();
            List<ObjectError> allErrors = bindingResult.getAllErrors();
            for (ObjectError error : allErrors) {
                String defaultMessage = error.getDefaultMessage();
                log.error(error + "=========" + defaultMessage);
                stringBuilder.append(error);
            }
            return Objects.requireNonNull(stringBuilder).toString();
        }
        return null;
    }
    protected void tryLog(Exception e){
        e.printStackTrace();
        log.error(e.getMessage());
    }
}
